﻿using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.Text;
using Snowdreamist.Collection;

namespace CompositionPlugin
{
    public interface IModuleRepository : IRuntimeService
    {
        ReadonlyConcurrentObservableCollection<ModuleDefinition> Modules { get; }

        ModuleDefinition GetModuleDefinition<T>();

        ModuleDefinition GetModuleDefinition(string name);

        event EventHandler ModuleChanged;
    }
}